{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 13: Analyzing sound waves with Fourier Series"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Helper functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "def plot_function(f,xmin,xmax,**kwargs):\n",
    "    ts = np.linspace(xmin,xmax,1000)\n",
    "    plt.plot(ts,[f(t) for t in ts],**kwargs)\n",
    "    \n",
    "def plot_sequence(points,max=100,line=False,**kwargs):\n",
    "    if line:\n",
    "        plt.plot(range(0,max),points[0:max],**kwargs)\n",
    "    else:\n",
    "        plt.scatter(range(0,max),points[0:max],**kwargs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 13.1 Playing sound waves in Python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.1.1 Producing our first sound"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pygame 1.9.4\n",
      "Hello from the pygame community. https://www.pygame.org/contribute.html\n"
     ]
    }
   ],
   "source": [
    "import pygame, pygame.sndarray\n",
    "pygame.mixer.init(frequency=44100, size=-16, channels=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-22140, -19523,   1823, ..., -23771,  26682, -12460])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "arr = np.random.randint(-32768, 32767, size=44100)\n",
    "arr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sequence(arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sequence(arr,line=True,max=441)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**CAUTION: May play a loud sound!!!**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4b96cf78>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4b96cfc0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr = np.random.randint(-10000, 10000, size=44100)\n",
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.1.2 Playing a musical note"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "form = np.repeat([10000,-10000],50) #<1>\n",
    "plot_sequence(form)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "arr = np.tile(form,441)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sequence(arr,line=True,max=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4b9be7b0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.1.3 Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Our musical note “A” was a pattern that repeated 441 times in a second.  Create a similar pattern that repeats 350 times in one second, which will produce the musical note “F”."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Solution:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4b96cee8>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "form = np.repeat([10000,-10000],63)\n",
    "arr = np.tile(form,350)\n",
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 13.2 Turning a sinusoidal wave into a sound"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.2.1 Making audio from sinusoidal functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from math import sin,cos,pi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(sin,0,4*pi)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.2.2 Changing the frequency of a sinusoid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_sinusoid(frequency,amplitude):\n",
    "    def f(t): #<1>\n",
    "        return amplitude * sin(2*pi*frequency*t) #<2>\n",
    "    return f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(make_sinusoid(5,4),0,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.2.3 Sampling and playing the sound wave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "sinusoid = make_sinusoid(441,8000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.arange(0,1,0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.00000000e+00, 2.26757370e-05, 4.53514739e-05, ...,\n",
       "       9.99931973e-01, 9.99954649e-01, 9.99977324e-01])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.arange(0,1,1/44100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sample(f,start,end,count): #<1>\n",
    "    mapf = np.vectorize(f) #<2>\n",
    "    ts = np.arange(start,end,(end-start)/count) #<3>\n",
    "    values = mapf(ts) #<4>\n",
    "    return values.astype(np.int16) #<5>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4ba8cfd8>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sinusoid = make_sinusoid(441,8000)\n",
    "arr = sample(sinusoid, 0, 1, 44100)\n",
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.2.4 Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Plot the tangent function $\\tan(t) = \\sin(t)/\\cos(t).$  What is its period?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Solution:** The period is $\\pi$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-10, 10)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from math import tan\n",
    "plot_function(tan,0,5*pi)\n",
    "plt.ylim(-10,10) #<1>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Find the value of $k$ such that $\\cos(kt)$ has a frequency of 5.  Plot the resulting function $\\cos(kt)$ from zero to one and show that it repeats itself 5 times."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Solution:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(lambda t: cos(10*pi*t),0,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 13.3 Combining sound waves to make new ones"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.3.1 Adding sampled sound waves to build a chord"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([5, 7, 9])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array([1,2,3]) + np.array([4,5,6])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "sample1 = sample(make_sinusoid(441,8000),0,1,44100)\n",
    "sample2 = sample(make_sinusoid(551,8000),0,1,44100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4ba8c630>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sound1 = pygame.sndarray.make_sound(sample1)\n",
    "sound2 = pygame.sndarray.make_sound(sample2)\n",
    "sound1.play()\n",
    "sound2.play()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4b96c5a0>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chord = pygame.sndarray.make_sound(sample1 + sample2)\n",
    "chord.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.3.2 Picturing the sum of two sound waves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sequence(sample1,max=400)\n",
    "plot_sequence(sample2,max=400)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sequence(sample1+sample2,max=400)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.3.3 Building a linear combination of sinusoids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "def const(n):\n",
    "    return 1\n",
    "\n",
    "def fourier_series(a0,a,b):\n",
    "    def result(t):\n",
    "        cos_terms = [an*cos(2*pi*(n+1)*t) for (n,an) in enumerate(a)] #<1>\n",
    "        sin_terms = [bn*sin(2*pi*(n+1)*t) for (n,bn) in enumerate(b)] #<2>\n",
    "        return a0*const(t) + sum(cos_terms) + sum(sin_terms) #<3>\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = fourier_series(0,[0,0,0,0,0],[0,0,0,1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(f,0,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.3.4 Building a familiar function with sinusoids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "f1 = fourier_series(0,[],[4/pi])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "f3 = fourier_series(0,[],[4/pi,0,4/(3*pi)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(f1,0,1)\n",
    "plot_function(f3,0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "b = [4/(n * pi) if n%2 != 0 else 0 for n in range(1,10)] #<1>\n",
    "f = fourier_series(0,[],b)\n",
    "plot_function(f,0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "b = [4/(n * pi) if n%2 != 0 else 0 for n in range(1,20)]\n",
    "f = fourier_series(0,[],b)\n",
    "plot_function(f,0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "b = [4/(n * pi) if n%2 != 0 else 0 for n in range(1,100)]\n",
    "f = fourier_series(0,[],b)\n",
    "plot_function(f,0,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.3.5 Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Mini-project:** Create a manipulated version of the square wave Fourier series so that is frequency is 441 Hz, sample it, and confirm that it doesn’t just look like the square wave -- it sounds like the square wave as well."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Solution:** Here's a quick idea of how to do this with the function `f` you just built."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4ba117e0>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr = sample(lambda t: 10000* f(441*t), 0, 1, 44100)\n",
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 13.4 Decomposing a sound wave into its Fourier Series"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.4.1 Finding vector components with an inner product"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.4.2 Defining an inner product for periodic functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inner_product(f,g,N=1000):\n",
    "    dt = 1/N #<1>\n",
    "    return 2*sum([f(t)*g(t)*dt for t in np.arange(0,1,dt)]) #<2>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "def s(n): #<1>\n",
    "    def f(t):\n",
    "        return sin(2*pi*n*t)\n",
    "    return f\n",
    "\n",
    "def c(n): #<2>\n",
    "    def f(t):\n",
    "        return cos(2*pi*n*t)\n",
    "    return f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.2197487366314734e-17"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(s(1),c(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.4176155163484784e-18"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(s(1),s(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.7092447249233977e-16"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(c(3),s(10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0000000000000002"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(s(1),s(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9999999999999999"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(c(1),c(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(c(3),c(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "from math import sqrt\n",
    "\n",
    "def const(n):\n",
    "    return 1 /sqrt(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-2.2580204307905138e-17"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(const,s(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-3.404394821604484e-17"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(const,c(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0000000000000007"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "inner_product(const,const)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.4.3 Writing a function to find Fourier coefficients"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**note** we have a new `const` function so `fourier_series` will behave differently"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fourier_series(a0,a,b):\n",
    "    def result(t):\n",
    "        cos_terms = [an*cos(2*pi*(n+1)*t) for (n,an) in enumerate(a)] #<1>\n",
    "        sin_terms = [bn*sin(2*pi*(n+1)*t) for (n,bn) in enumerate(b)] #<2>\n",
    "        return a0*const(t) + sum(cos_terms) + sum(sin_terms) #<3>\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fourier_coefficients(f,N):\n",
    "    a0 = inner_product(f,const) #<1>\n",
    "    an = [inner_product(f,c(n)) for n in range(1,N+1)] #<2>\n",
    "    bn = [inner_product(f,s(n)) for n in range(1,N+1)] #<3>\n",
    "    return a0, an, bn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = fourier_series(0,[2,3,4],[5,6,7])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-3.812922200197022e-15,\n",
       " [1.9999999999999887, 2.999999999999999, 4.0],\n",
       " [5.000000000000002, 6.000000000000001, 7.0000000000000036])"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fourier_coefficients(f,3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.4.4 Finding the Fourier coefficients for the square wave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "def square(t):\n",
    "    return 1 if (t%1) < 0.5 else -1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "a0, a, b = fourier_coefficients(square,10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.273235355942202, 1.2732395447351628)"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b[0], 4/pi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.4244006151333577, 0.4244131815783876)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b[2], 4/(3*pi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.2546269646514865, 0.25464790894703254)"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b[4], 4/(5*pi)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.5 Fourier coefficients for other waveforms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sawtooth(t):\n",
    "    return t%1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(sawtooth,0,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "approx = fourier_series(*fourier_coefficients(sawtooth,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(sawtooth,0,5)\n",
    "plot_function(approx,0,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "def speedbumps(t):\n",
    "    if abs(t%1 - 0.5) > 0.25:\n",
    "        return 0\n",
    "    else:\n",
    "        return sqrt(0.25*0.25 - (t%1 - 0.5)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "approx = fourier_series(*fourier_coefficients(speedbumps,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvXmYZVdd7/1ZezhjzdXz3Ek6CYmJREIig4jMg5CrosC9KnJ9jSjo++jrq/jiBQ3K1YDifV+BF1QQB2QUDJLIPIeQdOaJJp2kk55qHk7VGfa47h9771OVSnXXqaqz19qns7/P009X7bOHteqc812/3/c3LCGlJEeOHDlyPDVg6B5Ajhw5cuRQh5z0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMphJz0c+TIkeMpBEv3AFZiy5Yt8sCBA7qHkSNHjhw9hdtvv31KSrl1rfMyR/oHDhzg8OHDuoeRI0eOHD0FIcRjnZyXyzs5cuTI8RRCTvo5cuTI8RRCTvo5cuTI8RRCTvo5cuTI8RRCTvo5cuTI8RRCTvo5cuTI8RRCTvo5cuTI8RRCR6QvhHiZEOKIEOKoEOKtq7z+u0KIB4QQ9wghviqE2L/stUAIcVf874ZuDj4zeOxmeOAGeCptPXnkJnj467pHoQ5Swj2fghNPoRqSwIM7/gkmfqB7JOrgLMDhj8D8Cd0jSQ1rFmcJIUzgfcCLgRPAbUKIG6SUDyw77U7gSillQwjxG8D1wGvj15pSyqd3edzZwcIYfOTl0c+v/Wd42qv0jkcFjt8G//q66OdrvwG7rtA5GjW45xPw2V8HYcL/dQT61ix87H18+6/gG++C6jb4nfvBKugeUfr4yp/AbX8LO38Urv0mCKF7RF1HJ5b+VcBRKeUjUkoX+DhwzfITpJRfl1I24l9vAfZ0d5gZxuEPL/1857/oG4dKPLjMYbvrY/rGoRJ3/nP0vwyiBeBch5RwV/x5rk/AQ1/SOx4VaNWW3ufTd8P4fXrHkxI6If3dwPFlv5+Ij50JvwrctOz3khDisBDiFiHEf9nAGDON2r03cY9xMf/MKwke+gqyVdM9pNQxd+9N3Cou45viKhr3fv6cl7Wks0Dw2Pf4CK/miHE+tTs+rXtIqcOb+CHMPcafhW9kTgwyd/iTuoeUOppHvwl+k98OfocAg/nbz833uRPSX82/WfVbLoT4ReBK4N3LDu+TUl4J/Ffgr4UQ569y3bXxwnB4cnKygyFlA/cefYzq9L3cYz+d41ufhyk9vv3lz+keVqr45m13MrTwED+oXsU91WdRaZ7m8OHv6R5WqvjyTZ/FlD5T257NrdYzqE7exUOPHV/7wh7G1z4fWbyt81/Cd8UV8PDXmJirax5VepBS8t0vfYamLFC69JXczSFO3/4FGq6ve2hdRyekfwLYu+z3PcCplScJIV4EvA14tZTSSY5LKU/F/z8CfAN4kgAspfyQlPJKKeWVW7f2hlYqpeQLn/8kppBc87Ov5/d/7VdwRJETt3+B2bqre3ipwPEDbv7PSNp4/X/7VX7tl98IwHe+9Bm8INQ5tNQwUWtx6o7/xMPm9/6PN/DTP/tLmEJyw2f/FXmOejhHxhYoPf4NJkoHeOcbXsEzXvgahljgY/9+buZhAHzjh5PsnbuN6ZEf4/rXPZMtl72UC4Oj/MNX7tQ9tK6jE9K/DTgkhDgohCgArwOe8O4LIa4APkhE+BPLjg8LIYrxz1uA5wDLA8A9i2/8cJId07fim2X6z382ZqGEt+dZXB3ezcdufVz38FLBZ24/yRXuYVqVndg7LqG07SCN6l4uad3JTfeN6R5eKvjH7z3Gs7gHf++PIwoVhg89G9fqZ9fUzRx+bFb38FLB+798P1eJHzB46YsB2PH0VyARyIe+yun5pubRdR9SSj7yxe9zkXGCHVe8FIB9z3wlhpA8fOuNNN1A8wi7izVJX0rpA28Bvgg8CHxSSnm/EOI6IcSr49PeDfQBn1qRmvk04LAQ4m7g68Cfr8j66Vl8/NbH+SnrXowDz25nNfRd8hLON07z1VtuJwjPPSvwX777EM+z7qN48UvbWQ3li17As80f8A/fPqp5dN1Hywv40i13cpFxnPJFL4oOmhbG+T/J8817+Nfvd9TJtqcwtegw+YPvUBYuxUMviA5WR3G3P52fMO7mX2459wya+0/VGBm7GQDr/OdHB3c/A9/u4xn+Xdxw90l9g0sBHeXpSylvlFJeKKU8X0r5Z/Gxt0spb4h/fpGUcruU8unxv1fHx2+WUl4mpfzR+P+/T28q6jC96PDwg3ezn9MYF7186YXzfgqACxZv4+aHpzSNLh0cGVtgy9T3qcgm4sKXto+Lg8+jjzqcvJ3jM42z3KH38O2HprjKvSX65dBL2setC1/MTjHNkfsOs9DyNI0uHfzH3ad4rrgbKUw48Jz28eJFL+bHjKN85Y4j55ys9W93nOQl1h2E1e2wM84uN23M836C59sP8Jnbn4Kkn+OJ+MqD4/yM8Q0kAi582dIL256G7N/JNdYtfPmBcX0DTAGfv/sUP2t+h7A4ABe8cOmFQy8mtMq8xvwWN913Wt8AU8BN957i5+ybkaMXwranLb1wfjT/nwxv5TsPnVuL+xfuPsEv2N9FnP8CKA0uvXDBizAIuWjhe9x/6tzJUJNS8u17jvAC8y6Mi18OxhIligtezC45RvD4LUwvOme5S28hJ/0N4PSdX+SN1peiQqyhZTFuIRBXv4nniHsp3HtuBfoa99zAq8ybMX7sl8EqLr1QGsS4/Bf4BeubnLzjP/UNsMvwg5CtD36UKziCuPraJxbpDO0lPO8FvMn+Ag/e+R19g+wy5hYb/OLpd7FFTsNVv/bEF/dcSTByiN+zP8V377hbzwBTwA+OT/I7rfdTlA5c/RtPfPHy1+IXh3iH9VG+fc9DegaYAnLSXye8E3fx5pN/QK24C/Hy6598wtW/zvjo1fyR/zeMf+396geYAmp3fpa3Lf4ZU30Xw0/+wZNPePF1zJX38Uez/4PG/TeqH2AKOP3l/8Uf8hHGtz8PnvErT3rdeOV7CKwqv/7IWwhPnRskOPO5P+Aa82ZOPOP3YZmEB4BhYv7MBxg1Fvm5O98ItScl8PUkijdcyyvMW1l83jtg28UrXuzD/Jn38zTjOM/6+mvBWdQzyC4jJ/11onnj25ijyn0v+RgM7HzyCXYZ93Wf5DvBpQzdcj34Pe4WSglf/zOOyt2M/dxnoTTw5HPKQxx91Wc5JncQfumPlQ+x63AbbDn8Xr4VXIb53z4Opv3kc0bP57s/9Qla0qbxxXeqH2O3MXec/Uf/hU/zQna84g9XP2fvM/nMZR+iP5jD/eZ71Y4vDTz2Pc6b+jofKf0S/S/4nVVPERe/kr/ddz3bvRPIOz6qeIDpICf99cBZoHr6Fj4VPJ+nX3TeGU/bs2WQ/yi+kpI3BydvVzjAFDB+HwO1h/i48Qou3b/jjKc9/dA+PiFfSN/8EZjr8cKlR75B2Z/nCwM/z5aB6hlPu/zii/ls8FzKj38dvJbCAaaAIzdhEnDHnl/GMs9MC+dd/my+Fl5B+ODnFQ4uHYQ/+A9caXHq4jee9byRH3kx94YHaN1zbhRe5qS/Hjx2M6b0Odr3TLb0Fc94mhAC87yfIEQgH/22wgGmgLirZG3XczGNMzefKtkmtW1XRb88fouKkaWG8PiteNKkcv5zz3re3pEyPyxehin9qFdLD8N99LuckiPsPu/Ss573Y/uGuYOLKTVOR80GexjO0W9xp7yAHzlwZmMG4OrzRrk1fBr2+D0Q9H6Fbk7664A8dSchguLBq9c895Lz9/PDcA+tR7+vYGTpwT9+mBnZx+79F6157vB5V7AoywQ9TvqtR2/hAbmfS/dvP+t5QgjM/fFCd+JWBSNLD+Hj3+f28EKevm/4rOeVCya1kcujX07eoWBkKcF3KE7dz23hRVyx9+xzPjBa4VH7EFbYgqkfKhpgeshJfx1onHqQk+EWLjuwipa/ApftHuSo3E041dtFS86Ju7gvPMjla3wxAC7fO8pDcjeNUw8qGFl6MKd+wP3hfi7bPbjmuecdOJ8JOUTr1P0KRpYS3DqlxmmOyH1cvmftOVf2X0EoBWEvezezxzBkwJi9n70j5bOeKoQg2BkvdL085xg56a8D/sQPeVju4tJdqwQzV+CiHf08xk7K9RPg92gvHimx5o/xqNzB5XvXJoPL9wzyqNyBmHlEweBSQmueojvLSWMX5289s56f4NLdAxyT22lN9PDiHr9frf4D9JdWCVqvwNP27uA0I9THejiNcSoae2nnhYgOeuZv33cJgRR4kz085xg56XcKKanUHuERuYuLdvSveXrRMmkOnIdBALPH0h9fGmjOUvQXmS/tZlt/ac3T9wyXmbB2U2mN9W5gc+ZRAMLhg2cNaCa4dNcgj4XbseaOpTyw9CCnHwagb9eFHZ1/+d5BjsttuJOPpjmsVOFORDLNlv0/0tH5l+wd5TSj1E4/nOawlCAn/U7RmMYOWzSquynZZkeXlHccAkBO96gVOBt9qa0tZ85UWg4hBP7wQQxk+9peQzgdWb39u9aOYQAMlm1my3vocyfB7c02FPXTEQGO7H3aGmdGuGBrH8fZTnGhd3sP1U79kCk5wME9a0u1AJftGeTxcBvBzLF0B6YAOel3ioWoxUBpdO8aJy5h666D0aWTvZnC6E1FBFjdfkHH11S2RnMOZ3tzzjMnIwLc0UHgOoExHM2Zud5sRrY4cYwZ2cd5u8+exZLAMg0alb30edM9u9C5sycZkyNctH1trx1gx0CJMXM75cXe/FwvR076HaI+Fb3Zw9v3dXzNrj0HCKRgfrw3LaLZsWMAbN3bOelv3XUAgJn42l5DfeoENVnhgj1nz9xZjv6tkSHgzvbmZtrO7EnG5TAXbu/r+BojaT+y0Jv9lsTiGFNimL0jlc7OF4JWdQ/9/nTvSpcxctLvEOMnjwGwc29nUgfAoZ1DTDJEa6Y3yWBh8gQNWeTgrs4sQIB9+6O/z9x4b1q93twpJuQQ523tnABH4oVueqw352wsjjNjjLC1/8y1JyvRtyXaBrtXP9vl1iSt0raz1p6shD0U7xK72NvNFHPS7xCJRLN//8GOr9nWX2SCUcRCb/YpSQjw4DoI8NCuEabkQM+SgVkfZ84cpa9odXzNrj3RQterHl3FmcAtb+8oiyXBlnihmzh1LJ1BpYnAYyCcQ/R3pucn6N8aLXS1HpVrE+Sk3yGCuZNMywF2Dq+drplACEGjtI1iszctA2NxnJo12nHgGqBSsJg2tiAWe7Nas+JM0ipvW9c1B3eOMierOLO913ddBj6D4Sz0d+7NAezZdwCAufHeI8D5yRMYSEqje9Z13eiOSNodP9Wbi3uCnPQ7hFkfZ9bagrEOdxDAr+5gyO/NnusVZxJnnQQIUC9sodzqvYVOhiHDwfS6CbBSsJgxRnqyLcHUxCksQsoj6yPAvTt20JQFmjO9t9CdOh4lKAxt7zwpA2DPvsSj600ZL0FO+h2i4kzQLK5/03Z7aDf9NJibm0lhVOnBC0KGw2lYpwsMvbvQjU+OURA+xaFd6762XtxGqQc9utMnotTaJBjdKSzLZNYc7clAbuKdjOw4sK7rduzYhSdNmjO9KdcmyEm/A/hByFAwTdC3PgsQoG9r5BKeeLy3qlTHJqaoCofC0PpJ3xjcxQg15mu91X/81OMRAQ5sWx8BAgTVHQz4U4Q9tjdyYrWO7Og8Ky1BvTBKsdV7i3sjjjdt27V/XdcJw2TWHEEs9t5Ctxw56XeAk9M1RqlhD67fAhyMUzx7zSVMAnSVLetz+wHKsVZ68kRvFWjNjEVa7ZadB9Z9rTm4k63MMTZX7/Ko0kUjtlq37Fw/6bvl7Qz6Uz23Q1wwfxofg+JA52m5Cer2KKXWZAqjUoec9DvAyROPYQhJdQMEmBBIkuffK5iNF6n11CUkGNoWXTN5urcWulasTw9vwNIvjezBEiHjp3sraymYj0jfHtyARzewk63MMtlj+8eai2PMmyNP2A+3U7iV7fT70z3n0S1HTvodYDq2AIfXqQEClEai3F5vrrd0wMZ0RF4bIf0kna820VsLXVCLArHGwEZkvGihmOmxXH2jPsa8MbT67mBroDC0kz7R4uT4RAojSw8VZ4JGYf3xOQD6d7CtBxe65chJvwM04rzcga3rt/Qp9tMQZYweS2H0YwvQXG1LyDVQHI4WOrfHUhiN+hh10QeFzqo0l2MkXhzr071l6Zdbk9Q3SIBJ8HfyVO8sdLWWx0g4g1dd/8IOUBjaxbBY5PjkbJdHpg456XeAoBYFbsTA7g1dv2Bv6blcfWNxjJYoQbGz3iRPQHkEHxPZYwtdpTXJYmHLhq5NFrpeytWfb3qMhNN4lfVr2wBD8UJXm+gd0n98usF2MbshYwaWKpF7aaFbiZz0O4BVP42PCZXRDV3vlLcz4E/jBWGXR5YeSq0J6vYWWEeVZhuGwYI9SrmHAl6Ljs9wOI1XWX9dAgB92wgRPZXCGBHgHMYG9HyAQtyWoNVDC93xiRmGRH3dhVkJhrYlVbk56Z/TKLcmWLC3bCjwAxD27WA7s5yaa3Z5ZOlgvhG5wO4GLUCAVnEbA/5Uzyx0x2cabBNz6y7MasO0WTSHKDR7R98+PlVjC/OUhteflQa0/1ay1jsL3VzcKmNgnXUJCeyh3u45BDnpr4m64zMSTOOUN06AhaFdbBOzHJ/ujTa0j8802MEMcgOFWQn86na2Mct4rTc6Eh6fXmQrcxQ2kJaboFnaRr/bOwvd3OSJKCtt6/qD9QCUBmgZZex678h4rTjmUl5Hi/QnYCD6fITzvZWYsRw56a+B0/NNdoiZDRVmJahs2UdR+IxP9MYH5fRc5Pa3uwpuAMbATraJOU7N9QbpT42foih8qtvWV7CzHEF1O9vELGPzvTHn1nSUoLBhAgQaxW0MeJM9s9AF87EUNbDBxb08jCcKFBq9FaNbjpz018DJ2Yj0zaGNaYAA/XHwpz7VGy7h7PQYReFR3rJxMigNR1kOY9NzXRxZeqhPRm5/ZRNzNgZ2sl3McnymNzy6cC76PG40QQHArexgu5hlcqE3UhitpJp2o6QvBPXCVvrdSYIezdXviPSFEC8TQhwRQhwVQrx1ldd/VwjxgBDiHiHEV4UQ+5e99gYhxEPxvzd0c/AqMDE5SVU47SrTjcCMLWa/RwJejbiQrLIJC7AvTm+d75E2tOF8TICDG3+fi8O7GaXG+NxCt4aVKozF2PPcKAEC9EcL3eke8W5KrXFaRnVjWWkxnMp2tosZpns0V39N0hdCmMD7gJcDlwCvF0JcsuK0O4ErpZSXA58Gro+vHQHeAVwNXAW8Qwgx3L3hp4/FOErftwkLMAl4hT2S2eHHhWTGJvTtJIWx2SN562ay58HAxkm/smUPhpDUpnpDxis1x3BFEcob/0paQ7vZzizj89n3blw/ZNCbpF7cYIZWjLB/F9uZZaxH4lUr0YmlfxVwVEr5iJTSBT4OXLP8BCnl16WUybt+C5B8c14KfFlKOSOlnAW+DLysO0NXAyeO0puDG3eBieMBdr1HdMBaTFqbCOQm1wY9EvAqNcfxhb3htFyAYuzROT3QbtgPQgbdSRaL2zaWlhujMroHWwTMTmbfoBmvtdgpNl6YlcAa3M1OMcPpHsnGW4lOSH83sNxHPxEfOxN+Fbhpg9dmDrLWBRfYKrBoDVFxeiOdr9AYj3LON5q+CBDLJPZC9gkwDCWD3jgLhW0bTssFlj4j89n3bqYWXbaLGdzqJhZ2lprrJUHhLGOs1mK7mIVNxDAASqO7KQqPuekeMeJWoJNP+GpmwKoRDCHELwJXAu9ez7VCiGuFEIeFEIcnJ7NV0FNqno4JcHNfjlZxG8PBFC0v6NLI0oGUkmHnZESAG+jH0kZpkLo5yEAr+wQ423DZzjROeXMWIMNRKKuwmH0CTLLSZP8mjBlAxHOWc9nfTer0zALbmMUe3hzpV7dGc25MZX/Oq6ET0j8BLBe09wBP8tmFEC8C3ga8WkrprOdaKeWHpJRXSimv3Lp1g42QUsJW5zi1wnawS5u6j9O/l31iIvPpfLWmz15Os1jdeOpigsXKHnYEY5lf6MZqLXaJacLNeHPQXugGm9lf6MZnF9jBDNbwJmJVAMPRntGl2rHNDypl1CcexRSS6o7zN3UfYyTaQUvM9Fbr8ASdkP5twCEhxEEhRAF4HXDD8hOEEFcAHyQi/OUaxheBlwghhuMA7kviYz2BhuuzR55ioQsEKIcPsl9MMJbxgNdYrcUBMYY/1PkG8GeC0xctdFlP55ucrbGTacTI5uc8X9rDVv9U5lvvLow9giVCKjsu3NyNSgMsmEMM9MBCF0w+DEBp26HN3Sj+nBQXzlFLX0rpA28hIusHgU9KKe8XQlwnhHh1fNq7gT7gU0KIu4QQN8TXzgDvJFo4bgOui4/1BCbmWxwUYziDmyeDwrYLKAqP2vixzQ8sRUxOnGZYLGKMbs4aApBDB9gtppisZXtjkfr4w5hCUtpx0abv5fTvZS8TTNfdLowsPYRTDwFQ2blJ0gdq5T1s9U5mfqGz5mPLfGSTn+1iP/PmMAON3uy/Y3VykpTyRuDGFcfevuznF53l2g8DH97oAHVidvo0B0SDqc1+SIC++MvljD8EPHPT90sLzbEfAlDuAhlYWw5ii4CF8cfgQLZku+UIJiMC7N+1edIPhw6w9/SX+MHcAlv7i5u+X1ooxAQoRi/Y9L1affvYu3Ar03U303MeaDxOU5Qp920uZRNgvrSXbYsnkVIiNpH9pAN5Re5Z0DwdEWBhs+4gUNkZE0rGdUA5HbnAA7s3T4CV7dFi6U49vOl7pQlrLtq/2Nq6eQK0tpyHJULmT2f7fe6rP05dVDeVopogHD7ALqaZmqt1YWTpYcQ5wVRh96ZSVBM0+/ezlzEWHL8LI1OLnPTPgiB2gft2X7z5m/XvwqFAeeHY5u+VIorzjxIgKGzZvHfTvyv2FjK+0FUXjjEnBjdVpNS+V+LRTfxw0/dKEyPOcSbsPV0hQGPkfAwhqY8f7cLI0sMO/xS18iYD1zH8oQPsELNMz/TeZio56Z8F1uyj+NJgcJPRfgAMg3FrJ0OtbOuA1fpjTIitYG3eTbeG9tKiQGn+kS6MLD0Mtx5nstCd8pGhvVGxupjOPgHOV7pDgMU4GOxPPNSV+6WBluOwmwla/Qe6cr9EFquPZXfOZ0JO+mdBZfEYp8V2DLvQlfvNFPew1c12sdJw6zgTdpfq5wyD08ZO+jMe8Nrhn2K+vMH2witg9W+jRpVKLbsLXeC22CEnafYd6Mr9+nc/DQAxk10Zb/bkUWwREAxvPikDoLg9kny9jHt0qyEn/bNgqPk4Y90iQKBW2c/O8DSEGc1bl5Id3knmukSAAFPFPYw62U3nk26DbczQ6Nt8Wi4AQnDS3M1gI7vpfLXTRzGF7EpaLsDA8Bam5UCmPbrG6SMAGFs2H58D6N8VS77T2V3ozoSc9M8EKdnmneoqAbYGDlLAx5/JqOXbmKFKg3q1e3OuVfazI8juQlcfj760/kCXSB+YKOxjq5Pdqtx6mwC7IFsCQgiOG7vprx/ryv3SgDcZyW3lzdYlxBgaGmZMDlOcz3a8ajXkpH8mNKYp06LV1x3dE0DGlXyL8Zcua/DjgKvXRQJ0Bg5i4yPnsrnQ1eMMLUbP69o958r7GQ2nwFns2j27CXeiS0VKyzBh72G0ld2Fzph9mJosM7x1k1XXMQqWwXGxi756dj26MyEn/TMgmInezGATrXZXwoxdy9Z4NnXA+njknpsj3SP9ZKGrZ3Shc+MqzcLW7li9AM3+2FPK6ELHzMPMywqDoxvfAnQlZiv7GAxnwcnmXgLF+WM8Kncy2sU6gjF7DyPNnPTPGTQmY7dtqHtSR3V0Nw1ZJJzKpkvYmojGVdzSHa0XwIqtycbpbC50zDzCnKwyONI9Aky6OAZz2YxlFGrHeFTuYGv/5vpJLYeXdOusZbOVdl/jOKeMHRQts2v3rBV30RfWwM12a5WVyEn/DHCmjgFgd9Hq3dJfZFwOITO6mUo4e4xZ2cfg8OYLdhL0jezCkRb+bDZdf2v+cR6X2xjt606GFtDu4pjsQJY1lBqnGWMLA+WOCvI7Q9ytU2aR9KWk35tiwe5uVbhXiQ2FjH6fz4Sc9M+AYPZxarJM39CWrt1ztK/IBMOY9Yz21V84zZgcYUsXCXC4WmSSIeRiNnuP281JxuUwI9Xuzbk0sptQCpyZbJJ+xZ1mwRrtavsAaygi/dZMBr0bp0ZBOjil7pK+7E9If6yr900bOemfAXJhgkk5xEile2QwVLaZlEMUWtkkfbMxxaQcZLSve7rnSLXApBzCqGdrn4QERWeaeWOIkt09t3+4v8okg9mUd7wWlXCRVrF7xgxAcSRKeGhlcXvMhcjgCCqb77mzHGa8nWiv7A6XICf9M0A0p5mhn+HqJjYSWQHDENSsUaruVNfu2U3YzjSzYpCBUvfc/qGKzaQcxG5mkPTDgKo/S8PunpwFsKWvyJgcQWTR7Y+9TK/cXat3ZGiQOVnFm80g6S9GlnjY18W4DVBIZLwe2B5zOXLSPwPs1jTTcrCrbj9As7iFYtjMZDpfxZulYQ131e0v2SazxjAlJ4MLXWMGgxCn1F3SH6kWmJX9GK0MdhFfjEi/21bvaLXAhBwiXMiejBfWYvmlb5M7o63A4OAoTVnAzaKkdRbkpH8GFJ0Z5sQA5S66/QBuYmFlTeN26xTDJs1idwkQYNEapeLPQZCxjoSx1RuUuyt1DFcKzNGH5cx19b5dQfy5C7vQXng5RqoFZulHtLI3Z2cu8riswc1teboSo/0lphnAX8ygQXMW5KS/GsKQsj9Ps8tWL4BIWtk2M9adrx59cL3iSNdv7ZRGMZDQmO76vTeF2OqlywRoGoKGNUjJm+/qfbuBILbEzf7uznmoYjMvq5gZXOjchSl8aVAZ6O5nezies2xmb85nQ076q6E5i0FIKwUCNCtx+96sWURxoNXvstULIEtD0Q+tbJGgjBchs6/7G7y4hSFKYR25k1W3AAAgAElEQVQCr+v33gxaC5HkVOzvrkdXtk1qop9CBhc6rz5LjQpDXUzKABiMSd/I2nd5DeSkvxoakdUblLtP+nY1Iv2wkbEPSiMiA1FJYaErD0Y/ZIz0ncVozqUuW4AAQSFe6DJmBbqLs3jSZKB/oKv3FULQsgYoednbSCVozFGT1a4mZQAMlm3mqWK62fpcr4Wc9FdD/EUVXdhUYyXsvuiezkK2pA4ZE7JdHer6va1q4t1k68vhLEbvc7m/++9zmHx2mtkK5nqNOWpUGOyy1Qvg2gMUZAu8VtfvvSk0Z5mnymC5u3MuWiaLRj+FDC50Z0NO+qsh7h9iV7pPgOWBSD5xFrOl6XuNiJCLfd0nwFJfZEn7jYzNuT6HJ036qv1dv7dMSL+RLdIPG3PUZPelDoCgmE3pUji1eM7dtfQBXGuAkp+Tfs8jjC3SQl/3SX+gr4+WtHEXs0UGrXgRKqUw52IsnzRq2ZqzH1u9AykQoNEO2GdrzrTmqVFlqNx9AgyT2E3GkhQsd575lObs2QPY0gWv2fV7p4Wc9FdBcyGyVCopEOBQxaZGlSBjVq9bn8OXBv193dV6Acr9I/EzskWAYXOeBVlhMAUyKMQymd/IlqQlnPnUrF5RyaZ3U/BqNI1+LLP7dOeXshm7ORty0l8FzdjqrQ50X+oYaqd5ZYsM/MY8i5QZ7HIxGkB/Xx+OtPHrGftitOZZoMxAqfsEWO6LgtfNerbeZ8tdYIFKKnMuJHKom6HCQykpBYu4dvclPAAy6t2cDTnprwK3PkcoBdX+wa7fe7BcYJ5q5opYgtjqHepysAtgoGRRo0KQsYwlw12gJqsMpmD1JqTv1LOl99pejZbZj2F0t/4EoFiNvEQ3S96N18SSHn6h+x4sgJFkpmVpoVsDOemvgqBZY5ESg5XuNR5LMFi2WZBlDDdjm020aixQSYUAB8s2NVlpZwhlBZZbY5EKfYUuthiO0d8/QCBFO0CeFaRp9SYLXWMxQwtdnJQhC+nMuVCJ7isz2FblTMhJfxWErRqLlBlIQ+u1DFyjhOFna+MF4dRYoJxKsGugbLNABVoZIgPA9hdpmdVUrN7BSoE6ZfxWhhb3wKMgHQK7L5XbV9veTYYWOq8OgFlKZ87FSuRBOI1sfbbPhpz0V4NTY1Gmo/UC+FYVK8hWtN/0FlmkQqXQ3V5DEFn6DVlEeNla6IrBIp6VDhkMlm0WKRE0M0T6bkSAopAS6Q/EpJ8lAox3tbJTIv1yLGk1FjO00K2BnPRXgeEsskCF/i62GF6OwKpgB9kiQMtfxDH7ut5rCMA2DRyjhOHXu37vDUNKCmGL0K6kcvuhsk1dlpFZ2jPWTazeaiq3H6iUacoCQYa8m9CJ5lwop0P6SYZfK2Oxm7MhJ/1VYHoLNCh3dWON5ZB2NWqvnCHYQZPAKqd2f8+sYPkZmrPvYBBCISUCLNvUKSGyFOCLPS2rlI6+PVCK5hy2sjPnRj1agNIj/cjS97Lk0a2BjkhfCPEyIcQRIcRRIcRbV3n9eUKIO4QQvhDiNSteC4QQd8X/bujWwNOE6TdwzXQsQABpV7DxM9WMqxA2kXY6BAgQmGWsLHk3MQGKlEjfNAQto4LhZce7CWIytlKSOvpLFnVZQmZooWs2IjIuVtJZ6KrVfkIp8HuI9NfUL4QQJvA+4MXACeA2IcQNUsoHlp32OPArwO+tcoumlPLpXRirMlhBk8AspfeAhGjcOpS7XwC2bkhJQToIOz1LP7QrFJoZ6skSSx1GMR0CBHCNCpafnR3DWo0aVcBOyertK1mMUaKQIdJ3YtIvpUT6/bFHF55j2TtXAUellI9IKV3g48A1y0+QUh6TUt4DhCmMUTnssEVgpWfpt4nGzYgV6DUxkKlZvQDYVUqyCVKm94x1ILFGrZT0bQDXqlDIkHfTjHXntKQO2zRoiHKmvBuvGb3PaVn6/SWLBkWkk505r4VOSH83cHzZ7yfiY52iJIQ4LIS4RQjxX9Y1Ok0ohC1I0eo1Yvc6M25wLHUYxfQWOgpVTEII3PSesQ44jehvn1ZWB0BgVSmG2SH99pzL6RQqAbhGGTNLpB9LWpUU2osA9Jds6rJ0zhVnrZbOsR5zbZ+U8krgvwJ/LYQ4/0kPEOLaeGE4PDmp2R2WkhIOpJTVAUuaajMjEX+ZpPIV07N6jeIySSsDSAqI0rIAAUKrgh06qd1/vXBjqaOcQlfR9jPMbGWm+THpl/tSKs6yIu9GeOcW6Z8A9i77fQ9wqtMHSClPxf8/AnwDuGKVcz4kpbxSSnnl1q3d38VoXYi75aVJgEn2RLOejeCPG7vAZor6thHPOSvaZ5LVkZbWC4BdjgyIjEhaXpxKWaqmZ+n7ZgU7QzUogVOPGglW0jPiHFHGyFgNytnQCenfBhwSQhwUQhSA1wEdZeEIIYaFEMX45y3Ac4AHzn6VZsSkb6aobyel21nJ7U0I0E5R37biRTQrC10rLiAqpWj1GnacDOBnI4CdWL2VFElfWiWsDHk3oVOnQZH+Uvd7SiXwzDJWxirsz4Y1SV9K6QNvAb4IPAh8Ukp5vxDiOiHEqwGEEM8UQpwAfh74oBDi/vjypwGHhRB3A18H/nxF1k/m0IpTr9IqYIEl69LNSOViKybiNIOaZsYkrSTAl6al346RZKTXethaJJSCvpSkDgBhlynI7JA+XoMmRUp2eiVJgVnCCrOxsHeCjkpOpZQ3AjeuOPb2ZT/fRiT7rLzuZuCyTY5RKeqLNUqka/Um1mUiq+hGktZWSDHAZ5f742dlg/T9VhRbKKdo9ZqFiPTdVoNCCnsPrxehG1m9fSn0V0og7DIF3EjSSqG6e93jcRs4opRKpXkCaZWwnAwtdGsgr8hdgWZb6khP364mpN/KRlDTid3+YkqpfACFcrSIJhkkuhHEsYU0g5pWbOk3MjJn3DpNilRSqjQHMAplLMLMFB4KPyL9NCHNbElaayEn/RVwGhERp2npVyrRvX0nG25/InWkSYClcrYWutCpE0pBJcU52zHpN+vZIH3ptXBEMZWuognMQpTq7GUkb930G3hGeunXANilbElaayAn/RVIMhzStPT7+qJ7B042gj/ttLYUpY5iZUnqyAKkW6dFgWoxnaZ6sOTdNDMi4+E7eCK9gCaAGS90i4vZmLMVNPHMdEnfsCsUZTbqTzpBTvor4DYjC6VYSVHeKZXwpEngZSP4E8RWWaUvvTlXyol3kxHS91s4FFLZNzVBMfYWW41sWL3Cb+KnTPqFUixpZcS7iarr0yV9UShTED6B76f6nG4hJ/0VSKzeNIt2DEPgUCB0s0GAQSwz9aUodVSq0YLiu9mQtKTn4Ir0ApoAxVjGy0rAXgQOgdn93eCWI8kAy0ocoxA2CVMmfasY3b+ekTmvhZz0VyCRXMopWvoAnrCRWbH0vSauNCkW0iPBJI6RFUlL+E7qVm859m6yImkZgUtopEv6hWK25lyULWSK1fUAVhzHqNez4dGthZz0VyCxRMvVdEnfFUXISH956bVwRSHVtLZi7PaHbjYWOhG08IyUST/J0srIQmeGDjJlS98uJbEb/QQopaQk022pAktxjFZGPLq1kJP+CgQx6VcrKXacBDyjiOFnI+IvvRYe6UodwjBoYSMzUqgkAocgZau3mkhaGSBAACt0kVa6c07iGF4GLH3XDyin3EcLluoxWg39c+4EOemvQCK5mHa6ub2+UcTMSm6v7+CJdMkAwKWAzIh3YwYOYcqWfrGcLUnLli7SSvdzXShnJ0ur2XIwhcRIsWMuZMu76QQ56a9A6LVwsFOvJvSNImaQEdIPWvgpEyAQLSxeNuZshC5hylJHsilNFrwbKSU2LqRs6ZfihS7MQDfVRjNuGV5IeaErZWeh6wQ56a+A9Fu4KUsdAKFZzEy/DsN3CRSQvm8UEEE25myFbur6NrFVnYWAfcsLKeK1x5QWkgSILBQetuL0a1MR6WdB0uoEOemvhIICFohI385IQYcZOkpIP4pj6CdAiKSOMGUCRAhaFBAZkLQark8RD5G2vNMO2OufsxNb+kl2TVooxIWcWalCXgs56a+AilQ+gNAsZ2aDDUu6qedvAwRGESMDcw5CiS3d1AkQoiwtkYGFruEGFPGW2j2nBBEHNcMMSFotRaRfjOMYWfBuOkFO+isgAgc/5awOiDrz2bjIDGywYSlI5YNY0spAHKPu+hRF+lYvgCcKGBmQtJqOgy2C1PVtkkKoDJB+kiprl9Il/VIsaWWl2HIt5KS/AmaYflYHAFaREi6Or38veUt6qQc1AUKzhJkBSavuxFJH2gQIeEYJMwOkr8rqxbTwMTMRx3CdaAyFNPd+Xnb/IAOSVifISX8FDAWl6hBldpRwabhB6s86G8JQUpAumOkToLSy0Y2w7qiROiDK0rIyQfpJUDNl0idKzc1CHMNrRWOwi2l32Yzun4U4RifISX8FlGR1AIZdpoRHw9XbpKnpBXFWhwJJyyxSlC5eoNe7abk+RVwlpB8Y2ei17sYEmLqlD7hGNuIYXizvlMrpWvrJdycLqbmdICf9ZZBSYkk1pC8KZYrCo+noJf2GG1AQHiggQGmVKOLR9PR6Ny03KtpRYfUGZhE7A6m5TpxOaBcVeDeimAlJK2mpkrQASQ1JHCMDC10nyEl/GRw/ymVOu1QdwIr15KSARBdasaUvFMxZ2CVKwqWpWdJKUvnSrroGCKxyJlJzvXZQM2UCJCk81E+AQdznqZByIBfDwMNC5JZ+7yEiQDf1AhYAI05tczQ3aVpK5Uvf6hV2iSL6Sd+NU+tUWPrSjOIYurO0EnmnkOKOcAl8MxstRhLSV5Wam1v6PYimF1AUavTtZP/UZNMWXWg4XkT6CjJZDLtMEU978Dopl1dC+naJEi4tT28cY0nqUCFplTMRx2jXCij4PnsZ8W46QU76y6CqVB2WXE5Hc+l2y2lhCKlE6jAKZYrCp+noJYSEANPO34bIyiwK/QF7P05fTD2ThbgGJROkH5Owgu+zbxQxMlCD0gly0l+GRN9WkdWRWPqe5g6MTkud1JE8I3mmLrRT+RTMOZK09Hs3SQ65CqlDmkUKuLiaa1Bk0rpcgaXvG9nppbUWctJfhnZQUwHpZ6XveOJpWAoswDbpa5a0kr2JCwqCmoadjYylJakj/c82SZaW5oWunTaqYM6hWcpEHKMT5KS/DM24PF+FpZ/0Hfc09+tInq/C6m3HMTR7N4HCObdJX3NqbnvHMgVWLxlZ6KTfIsQAw0r9WVFqrv4srU6Qk/4yeLHuqYL07Xbptl4CTDwNFfp2Mmfd3k0QW70qgtdmoYwhJM2WXtdfpb6NVaQoPFqaSd9IOuamvDcGRJKWjae98LAT5KS/DCqzOhJtVXdnviR9Me3+JLAUvNbt3ajM6kjqMRzdu2cF6khfWHHGkq+X9AlcJZsDAbGk5Wpf6DpBTvrL4Lnq9O2sbLDRljoUzNkuRnEMXzMBSoVWb/JZcjQX4eGpk3cSSUt3mqoZqmmTDpGmn4U5d4Kc9JfBi11wS4Hb3/7yad4c3U+kDiWSVkSAursRSk9dVkfS68bV7N2IJJ1QhaWfkL7mNFUrVLMjXPSwIkU8HN3eTQfoiPSFEC8TQhwRQhwVQrx1ldefJ4S4QwjhCyFes+K1NwghHor/vaFbA08D7fxtBVJH29LXXMUXuArd/nhhaQcVNUGlpZ8sdLrjGCJwCDDBTD+oadhRHMNx9L7Plkx/H+Q27FIcxzgHLH0hhAm8D3g5cAnweiHEJStOexz4FeBjK64dAd4BXA1cBbxDCDG8+WGngyXSVyHvRB9GobmgQ2lWR9KNUHe5usJUvqTtgW5L3wwdPEVWb7InrauR9JPd0QIFGyLBsjjGOaLpXwUclVI+IqV0gY8D1yw/QUp5TEp5D7BymXsp8GUp5YyUchb4MvCyLow7FSQZDrYSeSd6hu4WtGqzOrLh3SxJHekTQmJA6I7dWKFLINQQoBnP2deYmeb4Uc2Nio65sBTHOFfknd3A8WW/n4iPdYLNXKsc7apFBfr2kqWvN7e3TcAKLX3dcYw26SvZNyGWtDSTvqlQ307iGDoz0xwvpCg8QhWfa5biGI7mgrRO0Anpr5bk2mnLwI6uFUJcK4Q4LIQ4PDk52eGtuw+lVq9h4mNpl3cMhQG+9jMyYOmr0rezkqVlhS6B+dQh/VZs6aNozoZdiuIYmuNVnaAT0j8B7F32+x7gVIf37+haKeWHpJRXSimv3Lp1a4e37j6kwrQ2AM8oYGqu4lMpdSyRvt6FzgzU6dtZiGP4QUgRdfq23ZZ3NFv6eEgF24DCUm2Ppzl43Qk6If3bgENCiINCiALwOuCGDu//ReAlQojhOID7kvhYJqEyqwPAFwXt/ToMhUU7yTMMzaRvKNS3s2DpR5sDqctkWao21z9nYauZs9Umfc31GB1gTdKXUvrAW4jI+kHgk1LK+4UQ1wkhXg0ghHimEOIE8PPAB4UQ98fXzgDvJFo4bgOui49lEkr1bSAwCpiaNX0jeb5CTV9oXujMwFGavw1o9W7aO8IpIv0keyfUuJNUq703hiJLP96GUqd30yk6EjWllDcCN6449vZlP99GJN2sdu2HgQ9vYozq4CvUt4HAKGJJzQQYOvhYWIaZ/sPiOIbOvuPJPsiBqvztJEtL4wYbjh8RoDQH1DzQSuoxNMo78ULnqkjKAKx4JzzdbVU6QV6RuwxCYf9tiCx9S7Omb6rsT0Icx9BI+gkZhIoCfFmw9JPNgVTs/Qy05xx6Ouec7P2shvSXqs3PDU3/KQOhUt8GQrOILV2t+6eaUi3pR3EMfQtdsg9yqCjAtxTH0Gzp44GloOgQMpGl5fghBUUbIsFSm26dklanyEl/GdqWviLXPzSTfh36Sret0FGW1QFxHEMj6bttS1+t1WtojGNEmSyuMg82CxlLLdelIIJ2fCFtGIXc0u9JGKGDL2ww1PxZpBn1HXc09utQ2pQK/XEMNwhjfVsRAWYgjuH40ZyVFB3CkkehUdLy23tjqPVucku/x2CGrrJWrAAy7synq+94EEoKeISKLX2dcYzE0peKJDzQX4+RyDvqSD/2bjQudMmeDUo65sKSd6O5CK8T5KS/DGboKNW3ZdyDW5el78a5zMoyWdAfx/ACqTR9EbIQx4gWOkPVQpfEMTSSfrI7mooNkYClOEZO+r0FO1RXtQgg7GK0244mS191UyrQH8dIFjpl+jaJd6NT0/cpC1fJ9pBA+2+rs/AwSZ1UsiFS9CBAf9fcTpCT/jLY0lOqb2OVtGr6rq9Y3yYmfaGR9GNNX1WGFoBvFLVa+p4TEZEyfVsIPGwsrZa+wo65kAnvplPkpB8jDCUFhf1JgPZuO66mzZTblZoKrV5MvTsMJZq+UDjn0ChgS32kn1SJKrN60R/HSNJFlcUx7Jz0ew5eqLhoh2jjhSIevjbSD5QHNaWlN47hBaHaoCYQmCUsjXGMhPRNhXP2RQFTZ7W54uaJbUtfc4uRTpCTfgwvkFH/bYVSBzEBepqkDkeDvh15N64278b1FGeyEEta0sMP9ZB+qDqoSSRp2RotfZV7AgPtFs46q807RU76MTzVRTuAsIoYQuJrymdu528rJP2kNsHTRPq+72AIqaw8H5I5u/qK8OLPl7JALpGlb2mUtFT30UIIXPR3ze0EOenH8IKobFsp6cfWpq4qvqTnuErSX/Ju9Fi9yd9aJQG2M5Y07Z+a5I4rtfTNotZ6DKG4Yy5kII7RIXLSj+EGatvPwtJWeroKOty2vq2ODJJt5dxAU0FaW99WN2cZk74ueadt6Succ2gUtQav29uQqizCE3pTcztFTvoxkqIdlZaBsPWWbjuuHxXtKNS32xlLmgK5SSqfSks/qbx2dck7gXqrNzAK2GRB01dbhKdV0uoQOenH8Ns9WdSRgdkmfT3WQRi4sb6t1rsxhMTXNGcZyzvKLX2NcQyhWt8mkrQK0lP2vJVQuvdzDN/QK2l1ipz0Y7iB+kyWxNqUmix9GROvykyWdhxDk6QV+rG8U1Tp3ZQo4uIFeuQd1ftEwFIcQ1c6sqHD0tdcj9EpctKP4QWSEmorNRONVZemv7Q9pMo5a95VKf5bWwqDmomkpcvSV7oPcoyI9PUtdEaoXtMPNMcxOkVO+jG8eEs5lVZvkk0hNaVsJouNSk0/CRprs/TbpK/Q0rdLlISHp6kKWYeln0hauuox2vnyCostdVded4qc9GP4rnprqE08ujabUF2qzlIcQ9tmEzEBClW7SEG7JkBXHKNdJaq08jqx9PWQviUdXAoghLJn5pZ+jyFJ5dNj6euSd+JUPoVkYGqPY6jPZElIP9AkaenIZEl6LOkifTN08RTujQEQmEUKGjOWOkVO+jESjVml1JFY+kKTvCN0WPrtvUT1LHSq90GGqIU26CP9ttSh0LtJeizpSlO1QgdPZcdcljKWdO553Qly0o8RatG3E3lHU0FHuzxfHRksZSzplXew1BFCErDXRvqhBkvfLlEUPp7vq3vmMlihgycUzpelOIa2IrwOkZN+jGSnHZUEmFib2jZe8JPyfJXeTfT31TXnpfJ8hQtdu/Jaz5zNwMFRrG8nkpbn6Fnc7dBVugseRHGMksY4RqfIST9G8oVUWarelhh0yTtBMmf1KZu654zKORf0Vl5b0lGub+vuK2VJF1/l3hgsbX+qq69Up8hJP4bU0H62vYG0pn4dhq++EVfb0tdE+mag3tJfqrzWQ4Bm4OIJW+kzdQevC9JVuwsey9pt5JZ+b0C25R2F+dtxczdDm6avnvQTS78dUFWMdhdEDT2WdC10VthSrm8nc/bdhtLnJrCl4l3wAMwitgjwvGxn8OSkHyPUUalpWviYCF2WfpC0YXjqxDGsUL2+3ZYMNS10tnSVZ7IYtl5L31a99Skg4/fZ11WD0iFy0o+RkJBVrCh9rouNGeixDHSU57clLU2kb4cOrmp9O/YedXl0VujgK7b0Dc3NBIvSJVC5Cx60v0e+rhYjHaIj0hdCvEwIcUQIcVQI8dZVXi8KIT4Rv/59IcSB+PgBIURTCHFX/O//7+7wuwgd5fmAK/TtttPWtzVY+oYmq1dHUNNI4ge6FjrpKc9kaacjawpeF3DVbn0KGJrrMTqFtdYJQggTeB/wYuAEcJsQ4gYp5QPLTvtVYFZKeYEQ4nXAXwCvjV97WEr59C6Pu+sQGtIXATwK2qxeI3AIERgK+5MsWfp6vBsrdHBVW72ai/Bs6eAbaj3YdpqqhjlLKZXvggfLgtdOtkm/E0v/KuColPIRKaULfBy4ZsU51wAfjX/+NPBCIRSKpt2Ahp4soHeLtSh/21aqb2OYeFjaMpbs0MVXnMli2nrjGLaG9MWlwkP1Hp0fSkq4SnfBg+Vtw3uf9HcDx5f9fiI+tuo5UkofmAdG49cOCiHuFEJ8UwjxE5scb2rQkb8NerdYM5OgpmJEcQx9BKje0o8MCV0eXVFDJksSvNbh3XjxNqC6LP0w44HcNeUdYDUzcGX1wZnOOQ3sk1JOCyGeAXxOCHGplLL2hIuFuBa4FmDfvn0dDKn7MDX03wa9W6yZQSvqRKgYLrY+S186eIoJMJEMtQWvUR/UbFv6Gubs+SH9eEjFXrvUOOf1oBNL/wSwd9nve4BTZzpHCGEBg8CMlNKRUk4DSClvBx4GLlz5ACnlh6SUV0opr9y6dev6Z9EFWGGLAAFGJ+tg9+CLgrYt1iwNmSwQBa91zdmWLr7iOZuWXtIv4hKqtvQ1xjE8t4UhJFJlryFYMhg1ZSx1ik5I/zbgkBDioBCiALwOuGHFOTcAb4h/fg3wNSmlFEJsjQPBCCHOAw4Bj3Rn6N2FEbjK+29DtMWaNks/VC91QBS81pWmGuWsKyZA08CR+rybgvSUW/o6i/DarR+Uyzvx8zRlpnWKNc1aKaUvhHgL8EXABD4spbxfCHEdcFhKeQPw98A/CSGOAjNECwPA84DrhBA+EABvklLOpDGRzSIq2rFR6xBGpF+R84qfGsEKHS3yjicKmFIXAboEGrwbB1tbmmoJl9BUK1suafo6SD8KpErFUm3yPB1zXg860jKklDcCN6449vZlP7eAn1/lus8An9nkGJVAV1DTFwUKmix9K3RwtMg7tjZ5pyBdPNVFO0SkryNLS4YhReEpz2SxbI3dVGPSVb3QiR4h/bwiN4YVulqsXt8oYEtP+XMhDmpqIH2dcYyCVF+dCuBS0JKxlOxFHCq2ek3bJpBCSxwj6aMlVdafoL/HUqfIST+GGTrKOxEC+ELfFmtWqF7fhqg2QVcco4CnvhEXScaS+jn7TkKAijOWDANHV+FhTLqq5Z12E79zIHvnKQFL6rH0A8PWbOmrJ0Cdln4RF1+DvOMKW0u7jaRQSHUmi2mIOI6hz9JXnqcfS1rauuZ2iJz0Y1ihq0Xf9o2CNku/EDrKKzUhCuTaOiz9MMDGV56+CJG8Y2nIWEqCmqoJ0GqTvob32dfQSJCl7B1dbcM7RU76MaI9NTVY+qJIAQ80bKYclefrimPoIwM9lr6mjKVY05eqs3cMQUsW9KSpaopjGKaFK82c9HsFlnTxNAVyTUII1W8gbeNqk3dsHd5NTAY6NH0PPRlLYdvSV6xvE8cxNGr6qvP0DUEcx8g3UekJ2KH6LeWApS3dVKd5SRlvKadD3ilS0BHHaKfy6bH0dZC+TOasujoVfW3Ddc05iWPkKZs9Alu2tFSntklXdfAn8DAJ8TVYgLrlHR1WryeKmDrmrCmoCfo2CGqTrqm21NIQcRxDU+V1p8hJP0YhdHCEDgKMv4yq27H60fNUbx6dPLOIqz6OoZEAPWFj65B3ks3Ydcg7ujrIJqRvK5Z3kjhGnrLZGyjKFo6hgfRNTaTv6QtqthueqbYCY29K+TZ6xC20dXo3qnPWiS19DaQvvGgzdtVdNk0h4jhGrulnH2EYkb4OS9+MdzTy6oofHJOBjoWu7d00FD9YX1DTM6cey38AABPkSURBVApaLH009aEBfQud8GPStxXvFib09ljqFDnpQ5sMXC2WfvzBdFUTYJzJooMAE61V8ZyXyvM1ZSxpSdmMjAmpch/kGFEgVz3pG16DpixgGqba58aBXF0bBHWKnPShLa14GkjfS0hXtdXb1rc1NFwzYgJSPOfQiZ4XWmotQIg+WxY+BIqzluKFNbSrap+Lvspr4TVoUMRQvGGrKUTcQjuXd7IPN7KGdMg7Qdvq1STvaLX01c45cBaj/xW7/QCOoWfOIrH0NSx0rihgh+qlDsNv0qSI6m26o+wdPY311oOc9KFtceqw9H1Tj9WLGxGgb6m3AL22pKV4oYvnrMPqdYWmxT2WOgzFUgdAS5QpSA2k7zVoSPWWvmFAS1Pwej3ISR/ahKtF07c0kUH8PF+L1KFJ3onnHJoaLH1Ni7vw6tQpYWr4pjtGOWom6KuVO4QfyzuKWd8QgqYsYgWKM/HWiZz0oa17tslIIYKEdFVb+m2pQ4elr2mhc/QFNT0j8W4W1T7YbdCU6qUOWC5pqZ2z6TdpyhKG4jmbhqBOCTtQ/F1eJ3LSh2XyjoaK3ERTV529ExNuoEHeCTR5N9JZpC6LmKZ6qaMdsFc8ZyMOapoaSL+lSdIyfD2BXCFgkTK239DSQLFT5KQPS6SvuGwbwDBMmrKgPk8/sb40BDXbmr7yOEadBiVM1WwAuJriGJHUUcLQ8E3XNeckkKvc0heChixhEKjvpbUO5KQPbSvb1yDvCCFoUESqzll36vjS0FK0s2TpK5Y6vDoNWdRC+rrkHSOes2oChGWpuYpJ3/QbWuZsGoJF9Hh060FO+rDM0ldPgKYQNCkq/5CE7iINSlgaInyhUSJEqC/O0mjpLwXs1c65Le/oWOhMfZp+FMhV+liEENRlzCHOgtqHrwM56cNSJosOeUdAQ+qw9BfirA71HwFhGNFCpzqTxY0zWTRYvbrSVI1E3tFq6WsI5GqQdwCaQpMXuw7kpA/g1AgwtGTvGIagQUn5h0Q6izRkEUuDBWgaUWqb6jkLnfKOpUne0SR1ALhmnCSgcqELPAzpaZtzMynwdHLSzzZaNRapYmiQOoSABVlW7w66dRYpayFAQ0CdkvqgptvQJu8Is4CPqTGoqfSxgKaFrlUDYIGKljk30ZSOvA7kpA/QmmdRVLS4/aYQzFOF1pzaB7t1GrKEbWogfUOwiPqFTvgN6pr07Sh2U1IraYUBlrfIAhU9cQwdgdz4ezQvq8qLswBa7Tnnmn620ZpngSolW/2fwxCCmqxAa17tg916TIB65jwvq9CcVftct8ai1OPdRJkdit/n+FlzsqqlOMvXUYSXkD5VLfKOb/VFP+TyTsbRmmdeVijZ6ot2hIAafQjFpC+ceRYp69H0hWCOPmgq9G7CANOpMUe/Ho/OEMzTp3ahi581L6t6FjrTok5Z7UIXf6ZqUo+8066wz+WdjKM1z7wsayH9xNIXgaN09yyjOcus7Nem6c+FFbUE2JpHIJmVfZgaJC0tpB9bvXP0aSFA0xDURD80ZtQ9NF5g5unTYukHhdjSVy3XrgM56QPSqTEXVChZ6v8cERnEWQ6qLKLAw3BrzMh+LE2a/jx9yNacunL1mHjmZJ82S3+OPrUEuMzS10GApiGYFwPQmFb30NYyS1/DSmfbRepGn9o5rxMdsZwQ4mVCiCNCiKNCiLeu8npRCPGJ+PXvCyEOLHvtD+PjR4QQL+3e0DeBMHzi7615alQoFXRY+tEHFHii3NFtMgyDpZ9j4plFj6Vvxpq+CNwnBjaXj7EbCPyln2MCnKNPk3cjmJOrWPrLx9gNLP8bNpcsfR1ztgzBPP1PJEApu/s+S/nE70rb0q9q8W5KtkHNGIT61NJBKZ/MORqxJukLIUzgfcDLgUuA1wshLllx2q8Cs1LKC4D3An8RX3sJ8DrgUuBlwPvj++nDQ1+Bd+2Ez74p+j3wEe4iNVmlZOnQ9Jdb+jHp3/IBuG4Uvvan3XnIzX8Df7odvv6u6PdmTPqyX4umbyRWLywtdF98G/zpNjj84e485Ka3Ru/z7R+Nn7PM0tdEgLOJvJOQ1Kf/O/zPPXDkps0/QEr4xC/Bu3bDQ1+OjsULTE2TpR+9z/3tvz2BDx9+GVx/Hpy4ffMPCLzofn9xAE7fHR1rzhEImxYFLXMuF0zmxSA0YtJvzcPfXAn/60dh/qTy8ayGTiz9q4CjUspHpJQu8HHgmhXnXAPE3y4+DbxQROkC1wAfl1I6UspHgaPx/dJH7TTc+c/wwy8trbKtGnz+t6NmSHf/K4zdu+QOoieQ285kgegD4izAV98JMoBvvRse/dbSySdvj0jx5O2rewKzj0Ukd+y7S8emjsJX/hhCD771nsgCiS2vWfqwdGbvQERMs8fge++D0I/IevrhpZMf/RYc/giMP/DkOUsJp+6K/ian7lo6/tBX4PsfgMCFr7wjIoeYAGc1Wb2mIZgN+6L31alFc77vM9H+zP/+lifKPo9+O/rsLow9+UZhCI99L5rz1NGl4/d+Ch68Ibrfl98eHVuWyaKjn357oUvm9sDn4Pgt0bj+/TeXto4MfLj/s3DPp6C+iiwS+PDw1+D2f4DaqaXj3/ubpft9+y+jY615XLsfEGjgfEqWySwDS/O49UMwfRTmH4fPvWnpM9yqwV3/Gn0GVptzirA6OGc3cHzZ7yeAq890jpTSF0LMA6Px8VtWXLt7w6M9C+ZnJrj5A79BRTbYGk5xcfgQBtEf+A7zct5V+l1+yf0Er/JO8Ufl/8F1zXfxqQ//FV+1fpK/AyblEJdrSdmMZBaA6//tOyxyJ9d5df6w/HZ+q/VBvH/6DX698te81v033uh+rH3duNjCA+bFeNhY+OwNT3AofLT9+pes5/Pe0m/yJ83/ySWhzXXlt3F984/5q//3L5kXA/wJaA3kJt7N73706xwMH+O3kPx2+c/58+Yfc+cH3sSflP6ANzt/xzXekhV8QuzkiHkIH4sCDhcEj7JXLpHAPxRez8cLP8ff1n8bxC4+XPxF3tG8nt9/z/vYHz7Om4ksfV369kRYARN+8f+7iWf5t/Fm4B2lt/L2xvX8+3vfwt8V38CbnA/zau8/AQgweMC8iHGxDZCUcDgUPMx2GVmRPiZ/VfpNvmv9OB+p/9+MG4f4mv083jzx9/zyuz/GT7v38SqKuNhaUjZNQ3DKrUBY4yXv+QrvbL6fvWIHHyj+d945+S4+cP3v8xXrJ/mj1nu4Iri3Pad7zEuZFiMYhJRwuCT4AcMykm2aFPmr0pt50LyQv6u/i8PW1UyIrfz0A1/gNe/5D36v9QP2+JFcquN9LhVMjjsVDk0e4bV/+Q3+rv6PzJmX8S3r2fyfj36QP/mLd/GosZ8/bf4pe+RpYOl9PiV24g4e4FW/9d5Ux9gJ6a/2l1tpZp7pnE6uRQhxLXAtwL59+zoY0pNhGAbPCu+iaVap2wN8ofIr3NP3XM5r3sfPTb6fjzWupSBdvjr0Gua3vYCHTtzE8/3bmRp+FjTg4kMX8JwLtmzo2ZvBcw9t4c7LL4UjcHG1zpB/jJZTpr7nufx7vcRvnPp/+GTz1xgIZvl+/4u5cfQNnNe6jysWvsUl7jEs6eGLAnPFLXyuei33VX+cH1v4Bq+Y+Ud+vHk3A8Esn9j229QHn8fksV281Lydu/ueAy14zmWHuGLfkPI5v/Bp25k5dggehR8ZbHF17R7G7T0Ee6/mizO/zM9MfYhPNq9lKJjmK8Ov5TuDP81F/7u9Ow+Osr7jOP7+JpAAIQgEiJgTEUGFgiaiFGFE8SD1pIpHi9OOrXUGZmyxMh6j9RhHR6eONdV6FKceVHQ8KhUvoNoOogVCUQxQAUFBjhRBTADJ9ekfz8ZgK7Cp++xj9/m+ZnaeZ595dr/f7x7f/PJ7nt3dvZThDQsY1rSWbDXTZDl82rWYWd0nsapbBVWfPs6P6p/i+y2vkK/PuL/oTnZ0HUHj2t9QlbuMPVl5tO7NoqpyMEf375H2mquG9WfBhjL4BIb3bmb8tho25ZSzrfQM3tq6gok7ZzO+dSE9WnYwr9ckluSfyvCGBQzeXcPwltUANFoum3OH8Gr+GNZ3GcKkumqm766mPvsJuqmeh0ruYk92d1g3g3O7vUdp1uc0UMDkEWWU9U7/V2iff2wRazcXQR2M7NvEiPW1vNPjTLb3G8/7m+Zzxa7HmNz0LDn6gpmFv2Rj7kCOrf8rQ3bXUNqyilbLpsU6saZrBcu6j6Uup5iL6u7jhj33sNe60JLVmVdKplHQvJWcDS9xVv4aipt3sjenkJ9UDqAgLyftNV98fAm7tx1Kz+31nNBnLwPqP+aFPj9jda8L2fDxfK7dex/CaMrKpfrQu9mTlcfQXe9w9K5FVLSsYEdrU/hJSjrgBRgFvLbP9euA6/5jn9eAUYn1TsA2gob/lX333W9/l4qKCqXcllrpD2dLs6+SmhuDbW9VS7/qIb15V7Dctib1cTvijlLppWnSvd+RZl7Uvv3t30kPj5MWPSK1tiZ/f7UvSg+dLM27tf12c66RbiuUXr9Rurmn1LQ3tTV0xJ6dweP+xp3Sbf2kl6cH21tapNdvkh4+Rar9U/L319oqLbw/uN3iGe3bn5goVVdKz/1UumdoamvoqM3Lg5oXPyrd3Euae3OwvXGP9OLU4DW6el7y99fcKM2/TXpkvLTiz+3bqyulx8+XZpwhPVqV2ho6asXsoOaFvw2WbXnu+lR6+jLpyQukTe8mf3/NjdK8W4Ka1y9s33Z7UfD+/vXR0vNXpr6Ojlh4/1drbqtv+7rg9fj0ZdKOj1IeFliig/RzSZgOcpaImXUCPgBOBT4BFgOXSqrdZ58pwDBJV5rZxcBESZPM7BjgjwTz+IcB84FBkvZ7+L6yslJLlizpyN+t/03dSnjgROheGMxz37AFOqV/ZPClB8e0z/VOuBtOuCL1MVbPhZkXQLc+wY+n/GJ56mN0xB2l0K037FgHP3gWBp2W+hhv3Qdzb4SeZXBICfx4TupjJOuLnXBnKRQOg63L4fJ5UHJ86uO8fA0sfQJy8uCI8TDxodTHSNaW9+HB0dB7YPA8T18HXUP47/KpS4NjXbvqYOw1MO761MdI1qo5MOtS6H14cIzu6g9Ix/c8m1mNpMqD7XfQTCQ1A1MJRukrgWck1ZrZrWZ2TmK3GUCBma0BpgHXJm5bCzwDrABeBaYcqOGnVd8hkH8YNGyFXmXRNvy2fHasD9bDaH4A5SdBpy7BmQUFA8OJ0RH9jgoaQXYulI0OJ8bhJwfLzz6CPoPCiZGsLodAfv+g4ef1g6KKcOIcPi44oLt7W/AYR6n3ALAs2L42eI7DaPgAA8dBwxZQa/BeilJB4nW2/UMYdEZaGn5HJJWNpJclHSlpoKTbE9tukjQ7sf6FpAslHSFppKQP97nt7YnbDZaUgnPTUsSsvbmWnxRtLgBl3w2WvcqDN0oYOneF0hOD9fKQmmxHlI0KlgPGQk5Ic86FQ6HtU5Jtj3GUShM1H3NeeM1gwJj/jheVnDzom/jDc9TZ4cXZd6DU9hqPSsERfHk4c0hVpKl8nWQO5GaucdcHDWHUlKgzgeGXQP1mGHR6uHEm3A1LH4ORIUwfddSoqcFpe2HmkpUFk18IzoU/5vzw4iTr1JuC0f6Yq8OLkZsfTJdteQ9K0nOG9AGd9wDUPg/HXRZejF7lcE41ZOdAj8PCi5OMttfchkVw5IRoc/kaB53TT7e0zek751wGSdmcvnPOuczhTd8552LEm75zzsWIN33nnIsRb/rOORcj3vSdcy5GvOk751yMeNN3zrkY+dZ9OMvM/gV89A3uog/Bt3zGSdxqjlu94DXHxTepuUxS34Pt9K1r+t+UmS1J5lNpmSRuNcetXvCa4yIdNfv0jnPOxYg3feeci5FMbPoPR51ABOJWc9zqBa85LkKvOePm9J1zzu1fJo70nXPO7UfGNH0zO9PM/mlma8zs2qjzCZuZPWpmdWb2ftS5pIuZlZjZG2a20sxqzeyqqHMKm5l1MbNFZvZuouZbos4pHcws28z+YWYvRZ1LupjZejNbbmbLzCy0HxXJiOkdM8sm+PH204CNBD/efomkFZEmFiIzGws0AI9LGhp1PulgZv2B/pKWmlk+UAOcl+HPswF5khrMrDOwALhK0jsRpxYqM5sGVAI9JJ0VdT7pYGbrgUpJoX42IVNG+iOBNZI+lNQIzALOjTinUEn6G7A96jzSSdJmSUsT6/XASqAo2qzCpUBD4mrnxOX/f6R2AGZWDHwP+H3UuWSiTGn6RcCGfa5vJMObQdyZWTlwLPD3aDMJX2KqYxlQB8yVlOk13wtMB1qjTiTNBLxuZjVmFtoPR2dK07ev2ZbRo6E4M7PuwHPAzyV9HnU+YZPUImkEUAyMNLOMnc4zs7OAOkk1UecSgdGSjgMmAFMSU7gplylNfyNQss/1YmBTRLm4ECXmtZ8DZkp6Pup80knSZ8CbwJkRpxKm0cA5ifntWcApZvZktCmlh6RNiWUd8ALBtHXKZUrTXwwMMrMBZpYDXAzMjjgnl2KJg5ozgJWS7ok6n3Qws75m1jOx3hUYD6yKNqvwSLpOUrGkcoL38V8k/TDitEJnZnmJkxMwszzgdCCUM/MyoulLagamAq8RHNx7RlJttFmFy8yeAt4GBpvZRjO7POqc0mA0MJlg9LcscamKOqmQ9QfeMLP3CAY3cyXF5jTGGCkEFpjZu8AiYI6kV8MIlBGnbDrnnEtORoz0nXPOJcebvnPOxYg3feecixFv+s45FyPe9J1zLka86TvnXIx403fOuRjxpu+cczHybz307gJhdV4+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_function(speedbumps,0,5)\n",
    "plot_function(approx,0,5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 13.4.6 Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Mini project:** Play a sawtooth wave at 441 Hz and compare it with the square and sinusoidal waves you played at that frequency."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Solution:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Channel at 0x1bc4bc2d420>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def modified_sawtooth(t):\n",
    "    return 8000 * sawtooth(441*t)\n",
    "arr = sample(modified_sawtooth,0,1,44100)\n",
    "sound = pygame.sndarray.make_sound(arr)\n",
    "sound.play()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
